Conversation
83e0223 to
cfe0636
Compare
There was a problem hiding this comment.
Pull request overview
Adds support for reading/writing LAStools (.lax / EVLR) quadtree spatial indexes and integrates it into copy/conversion workflows, while also refactoring parallelism utilities, printing helpers, and build configuration.
Changes:
- Introduce
QuadtreeSpatialIndexand add LASReader/LASWriter support for detecting, copying, and optionally generating LAStools spatial index EVLRs. - Replace
<execution>-based parallel loops with an internal thread-pool approach, including a new parallel reduction helper. - Add printing helpers (indentation + limited map printing), new tests, and adjust CMake/CI to improve cross-compiler compatibility.
Reviewed changes
Copilot reviewed 32 out of 32 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| src/vlr.hpp | Improves VLR/EVLR printing and adds helpers to identify LAStools spatial index records. |
| src/utilities/thread_pool.hpp | Adds parallel_for_reduction and related includes/utilities. |
| src/utilities/tests/test_printing.cpp | Adds tests for new printing helpers. |
| src/utilities/printing.hpp | Adds Indented/LimitedMap wrappers and std::map streaming support. |
| src/utilities/assert.hpp | Adjusts seek macro warnings and headers/includes. |
| src/tests/test_writer_copy_from_reader.cpp | Adds coverage for writer copy-from-reader and spatial index behavior. |
| src/tests/test_transform_accessors.cpp | Adds tests for new non-const Transform accessors. |
| src/tests/test_reader_constructors.cpp | Adds tests for reader constructors and .lax discovery/precedence behavior. |
| src/tests/test_reader.cpp | Adds tests for interval→chunk mapping and reading non-contiguous chunk lists. |
| src/tests/test_bound2d.cpp | Adds tests for new Bound2D. |
| src/spatial_index.hpp | New LAStools spatial index implementation (read/write + cell computations). |
| src/laz/tests/test_spatial_index.cpp | Adds LAZ-side tests for spatial index functionality. |
| src/laz/tests/test_laszip_interop.cpp | Updates Transform usage to new API. |
| src/laz/stream.hpp | Tightens bounds-checked reads and seek behavior for pointer-backed streams. |
| src/laz/laz_writer.hpp | Adds handling for (unsupported) LAZ item type Byte14 and removes <execution>. |
| src/laz/laz_reader.hpp | Adds handling for (unsupported) LAZ item type Byte14. |
| src/laz/layered_stream.hpp | Formatting/initialization tweak for the empty-layer buffer. |
| src/laz/chunktable.hpp | Fixes #pragma pack(pop) placement. |
| src/las_writer.hpp | Adds copy-from-reader and spatial index writing; refactors parallel copy/stats to thread-pool utilities. |
| src/las_reader.hpp | Adds spatial index detection (EVLR + .lax), stream-parallel LAZ chunk reads, and interval/chunk helpers. |
| src/las_point.hpp | Minor include cleanup. |
| src/las_header.hpp | Introduces Bound2D, adds Transform accessors, and exposes points-by-return helper. |
| src/example_custom_las_point.hpp | Adds missing standard includes for example point type. |
| cmake/SetupLazperf.cmake | Makes warning suppression flags compiler-specific (GCC vs Clang). |
| cmake/SetupLaszip.cmake | Makes warning suppression flags compiler-specific (GCC vs Clang). |
| apps/validate_spatial_index.cpp | New CLI tool to validate spatial index correctness vs points. |
| apps/las2las++.cpp | Updates CLI to use copy-from-reader and optionally add spatial index. |
| apps/inspect_vlrs.cpp | New CLI tool to inspect VLR/EVLRs and spatial index details. |
| apps/create_test_file.cpp | Updates Transform usage to new API. |
| apps/CMakeLists.txt | Builds/installs new CLI tools and adds MSVC /bigobj handling. |
| CMakeLists.txt | Scopes strict flags/aggressive opts to top-level project; MSVC /bigobj for tests. |
| .github/workflows/cmake-multi-platform.yml | Removes Clang OpenMP install step. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Up to standards ✅🟢 Issues
|
| Category | Results |
|---|---|
| BestPractice | 12 medium |
| ErrorProne | 2 medium |
| Complexity | 20 medium |
🟢 Metrics 308 complexity · 107 duplication
Metric Results Complexity 308 Duplication 107
TIP This summary will be updated as you push new changes. Give us feedback
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 35 out of 35 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 35 out of 35 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 35 out of 35 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 35 out of 35 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 35 out of 35 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.